Automated data storage libraries provide a means for storing large quantities of data in data storage media that are not permanently mounted on data storage drives, and that are stored in a readily available form on storage shelves. One or more robot accessors retrieve selected data storage media from storage shelves and provide them to data storage drives. Typically, data stored on data storage media of an automated data storage library, once requested, is needed quickly. Thus, it is desirable that an automated data storage library be maintained in an operational condition as much as possible, such as the well known “24×7×365” availability. In order to achieve and maintain this high availability of data from a library, there is a need to eliminate or reduce single points of failure, as well as to improve the efficiency by which such availability is maintained.
Automated data storage libraries are often used to back up critical data. If the automated data storage library encounters operational problems then it is crucial to quickly locate the failing automated data storage library to provide rapid service and repair. A feature often referred to as “Call-Home” is used to expedite service and repair of an automated data storage library. Call-Home is a feature where the library will call a service or repair center when it detects an operational error. Another feature, called “Heartbeat Call-Home” involves a periodic call to a service or repair center as a watchdog function. If the automated data storage library doesn't call at some periodic interval then it may be an indication that there is a problem with the automated data storage library. The physical location is needed to locate the automated data storage library for service or repair. The physical location of the automated data storage library may be entered by an operator or a service technician. This involves human intervention and may be prone to error. For example, the information may never be entered; it may be entered inaccurately or may be entered with insufficient details. In addition, the automated data storage library could be moved and the location information may not be correctly updated. This may result in a critical error that doesn't get serviced in a timely manner because the repair technician couldn't locate the failing library. Therefore there is a need to quickly and automatically locate automated data storage libraries.
Large automated data storage libraries usually comprise modules or frames that allow the size of the library to be controlled by the number of frames that are attached to the library. If a customer needs more storage, then additional frames are added. It is often necessary to obtain quick and accurate location information for each frame located in an automated data storage library. For example, a frame controller may require knowledge of the frame number that it is located in. Prior art methods for locating frames in automated data storage libraries used dip switches or jumpers to identify frames. The problem with this approach is that it involves operator intervention and may be prone to error. For example, an operator may incorrectly set the jumpers or switches. Another approach is the use of an automated frame counting circuit such as the one described in patent application US20020169903A1 titled “Automatic Frame Identification, Door Status, and Frame Count Detection System”. The problem with this approach is that it involves additional cabling and connectors. Cables and connections require human intervention and may be prone to error. For example, an operator may incorrectly plug the cables, a pin may become pushed, a cable may be intermittent, etc. In addition, if the frame controller is swapped or replaced then there is additional opportunity for connector failure or operator error because a repair technician may forget to plug the cables or may plug them incorrectly. Therefore there is a need to quickly and automatically locate frames in automated data storage libraries.
Large automated data storage libraries usually comprise one or more accessors for moving data storage media. To accurately control the movement of the accesors it is necessary for the accesssor controller to obtain accurate real time position information for the location of the accessor. Prior art methods for accessor position information use home position sensors, tachometers, etc. The problem with this approach is that it involves cabling between the sensors and the controller, the sensors may become dirty, etc. For example, a library may be powered off with the accessor located anywhere within the library. When the library is powered on, the library controller may not be able to determine the precise location of the accessor. Slow movement of the accessor to a home position may be used to provide a precise reference location for the accessor. The accessor movement must be slow to prevent a serious collision while the accessor is moving “blind”. Therefore there is a need for accurate real time accessor position information.
Large automated data storage libraries usually have one or more data storage drives that are contained within drive canisters within the library frames. If a customer needs more data storage drives, then additional drive canisters may be added. It is often necessary to obtain quick and accurate location information for each drive canister located in an automated data storage library. Prior art methods for locating drive canisters in automated data storage libraries used dip switches or jumpers to identify drive canisters. Other prior art methods have the data storage drives connecting by a unique cable (one per drive) to enable the automated data storage library to identify data storage drives. Cables are bulky, mistakes occur when the drives and cables are misconnected and drive failover is complicated because of the unique communication path to each drive. Therefore there is a need for accurate drive canister location information.
Generally a Global Positioning System (GPS) provides an accurate time source with four atomic clocks in each GPS satellite. It also provides accurate ranging information. The ranging information can be used for relative and absolute positioning measurements, as well as attitude (roll, pitch and yaw) measurements. Sub-millimeter accuracy can be obtained with the GPS system.
In order to benefit from a very large wireless telephone market, GPS manufactures have been working on techniques to improve the indoor characteristics of GPS receivers. One approach that has shown remarkable success is a design that uses massively parallel correlators. This can improve the effective receiver sensitivity to about −158 dBm. Another approach uses a technique called A-GPS (Assisted GPS) which receives the GPS data stream from an additional source, such as a cellular telephone network. This improves indoor operation reduces the time to determining a position from seconds or minutes, to hundreds of milliseconds. In one product example, Motorola manufactures an OEM GPS sensor, called “FS Oncore” with an approximate size of 200 square millimeters. This is a complete GPS solution that only requires an antenna and a serial interface to receive location and time information. Another Motorola product called “Instant GPS”, is a single chip GPS receiver that is manufactured by IBM. This device requires minimum additional circuitry and Motorola provides reference designs for easy integration into products. In addition to the electrical integration, this solution only requires an antenna and a serial interface to receive location and time information. This new generation of single chip GPS receivers results in the availability of a low power and compact GPS system. In another product example, Global Locate manufactures a two chip GPS solution that requires a relatively small amount of electrical integration to operate in a product.
An automated data storage library typically comprises one or more controllers to direct the operation of the library. The controller may take many different forms and may comprise an embedded system, a distributed control system, a personal computer, workstation, etc. FIG. 1 shows a typical library controller 100 with a processor 102, RAM (Random Access Memory) 103, nonvolatile memory 104, device specific circuits 101, and I/O interface 105. Alternatively, the RAM 103 and/or nonvolatile memory 104 may be contained in the processor 102 as could the device specific circuits 101 and I/O interface 105. The processor 102 may comprise an off the shelf microprocessor, custom processor, FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), discrete logic, etc. The RAM (Random Access Memory) 103 is typically used to hold variable data, stack data, executable instructions, etc. The nonvolatile memory 104 may comprise any type of nonvolatile memory such as EEPROM (Electrically Erasable Programmable Read Only Memory), flash PROM (Programmable Read Only Memory), battery backup RAM, hard disk drive, etc. The nonvolatile memory 104 is typically used to hold the executable firmware and any nonvolatile data. The I/O interface 105 comprises a communication interface that allows the processor 102 to communicate with devices external to the controller. Examples of I/O interface 105 may comprise serial interfaces such as RS-232 or USB (Universal Serial Bus), SCSI (Small Computer Systems Interface), Fibre Channel, etc. In addition, I/O interface 105 may comprise a wireless interface such as RF or Infrared. The device specific circuits 101 provide additional hardware to enable the controller 100 to perform unique functions such as motor control of a cartridge gripper, etc. The device specific circuits 101 may comprise electronics that provide Pulse Width Modulation (PWM) control, Analog to Digital Conversion (ADC), Digital to Analog Conversion (DAC), etc. In addition, all or part of the device specific circuits 101 may reside outside the controller 100.
FIG. 2 illustrates an automated data storage library 10 with left hand service bay 13, one or more storage frames 11, and right hand service bay 14. As will be discussed, a frame may comprise an expansion component of the library. Frames may be added or removed to expand or reduce the size and/or functionality of the library. Frames may comprise storage shelves, drives, import/export stations, accessors, operator panels, etc. FIG. 3 shows an example of a storage frame 11, which also is the minimum configuration of the library 10 in FIG. 2. In this minimum configuration, there is no redundant accessor or service bay. The library is arranged for accessing data storage media (not shown) in response to commands from at least one external host system (not shown), and comprises a plurality of storage shelves 16, on front wall 17 and rear wall 19, for storing data storage cartridges that contain data storage media; at least one data storage drive 15 for reading and/or writing data with respect to the data storage media; and a first accessor 18 for transporting the data storage media between the plurality of storage shelves 16 and the data storage drive(s) 15. The storage frame 11 may optionally comprise an operator panel 23 or other user interface, such as a web-based interface, which allows a user to interact with the library. The storage frame 11 may optionally comprise an upper I/O station 24 and/or a lower I/O station 25, which allows data storage media to be inserted into the library and/or removed from the library without disrupting library operation. The library 10 may comprise one or more storage frames 11, each having storage shelves 16 accessible by first accessor 18. As described above, the storage frames 11 may be configured with different components depending upon the intended function. One configuration of storage frame 11 may comprise storage shelves 16, data storage drive(s) 15, and other optional components to store and retrieve data from the data storage cartridges. The first accessor 18 comprises a gripper assembly 20 for gripping one or more data storage media and may include a bar code scanner 22 or reading system, such as a smart card reader or similar system, mounted on the gripper 20, to “read” identifying information about the data storage media.